package com.shxzz.easy12306.framework.starter.designpattern.strategy;

/**
 * 策略执行器接口
 * @author shxzz
 * @create 2024-02-20-20:50
 */
public interface AbstractExecuteStrategy<REQUEST, RESPONSE> {
    /**
     * 策略标识
     */
    default String mark() {
        return null;
    }

    /**
     * 泛解析策略标识
     * @return 泛解析匹配字符串（正则表达式）
     */
    default String patternMatchStr() {
        return null;
    }

    /**
     * 不带返回值的执行策略
     */
    default void execute(REQUEST requestParam) {

    }

    /**
     * 带返回值的执行策略
     */
    default RESPONSE executeResp(REQUEST requestParam) {
        return null;
    }
}
